package com.xmall.define.constants;

/**
 * 公共常量
 */
public interface CommonConstants {

    /**
     * 基本包路径
     */
    String BASE_PACKAGE = "com.xmall";

    /**
     * 初始化es版本
     */
    Integer INIT_ES_VERSION = 0;

    /**
     * 第一级分类父级ID
     */
    Long TOP_PARENT_ID = 0L;

    /**
     * 默认排序值
     */
    Integer DEFAULT_SORT_NUM = 100;

    /**
     * 默认增加层级
     */
    Integer DEFAULT_NEXT_ADD_LEVEL = 1;

    /**
     * 身份校验
     */
    interface Auth {

        // 登录header
        String TOKEN_HEADER = "x-auth-token";
    }

    /**
     * 消息队列
     */
    interface Queue {

        // 匿名队列前缀
        String DICT_ANONYMOUS_QUEUE_PREFIX = "dict-";
    }

    /**
     * 重复提交
     */
    interface RepeatSubmit {

        String REQUEST_KEY = "repeat-submit-token";

        String REDIS_KEY = "repeat-submit-token:";
    }

    /**
     * 定时任务
     */
    interface TimerTask {

        // 缓存key前缀
        String REDIS_KEY_PREFIX = "timerTask:";
        Long EXPIRE_MINUTES = 5L;

        // 执行一次url
        String TIMER_TASK_EXECUTE_ONCE_REQUEST_URL = "/service/common/timerTask/executeOnce/{taskKey}";

        // 任务列表url
        String TIMER_TASK_LIST_REQUEST_URL = "/service/common/timerTask/taskList";

        // 重试日志任务列表url
        String RETRY_LOG_TASK_LIST_REQUEST_URL = "/service/common/retryLogTask/taskList";

        // 重试日志分页列表url
        String RETRY_LOG_LIST_PAGE_REQUEST_URL = "/service/common/retryLogTask/logListPage";
    }

}
